The present invention relates to computer-implemented systems and methods for generating highly formatted searchable reports. More specifically, the invention relates to systems and methods for generating and storing such reports as persistent objects.
Business professionals often deal with large mounts of data in the form of reports. Such reports may be generated from much larger collections of data stored in business data bases. A typical report accesses dozens to thousands of records (or more) and requires a few seconds to many hours to generate. Typically, the records appearing in a report are organized by one or more level breaks after which totals or subtotals of numerical data are provided. In addition, most reports are highly formatted to provide relevant background information and facilitate understanding. A single report may be related to other reports, and a whole group of reports may be used by many people associated with a enterprise all of whom need to see the same consistent set of information. Examples of such reports include reports containing records of open orders, sales forecasts, customer statements, and balance sheets.
Traditionally, powerful data base tools have focused on either transaction or Decision Support System (DSS) components. Transaction components are used primarily to put information into a data base. They are designed to support people in focused work groups such as order entry, customer support, or accounting. A typical interaction with a transaction system involves a few data base records and operates with sub-second response time. DSS components, on the other hand, are used to carve up data base information for analysis and strategic decision making. These components involve answering very unique questions. One answer often leads to another questions, creating a pattern of uses referred to as "diving" or "mining."
Users of reports far out number users of the transaction and DSS components of data base applications. Unfortunately, relatively few report writing systems are available for business applications. Those that are available suffer from various difficulties. For example, most report writers deliver only static, electronic versions of printed reports. These reports typically contain no more information than is required to display them on a computer screen or printed page. They fail to provide any advanced functionality that allows users to interact with, search, and annotate.
For example, one product, CRYSTAL REPORTS, from Crystal Computer Services, Inc. generates reports for viewing, but thereafter stores only the data base records used in the generating the reports. All formatting and data arrangement information used in the report is lost, and must be regenerated each time the report is to be viewed. Further, in reports requiring more than a single flat set of data base rows (a fairly common occurrence for sophisticated report writers), the data base must be queried each time that a new report copy is to be displayed. Obviously, this defeats the advantage of persistently storing data base records used in generating reports.
Thus, there exists a need for an improved method that can generate and store reports in a manner that facilitates their repeated display, printing, and searching.